// pages/login/login.ts
import request from '../../utils/request'
// 获取应用实例
const app = getApp<IAppOption>()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        checked: false,
        globalData: '',

        show: false,
        showMsg: '',
        showTitle: '',
        showIcon: '',
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad() {

    },
    //用户授权获取信息
    getuserInfo() {
        if (!this.data.checked) {
            wx.showToast({
                title: '请同意用户协议及隐私政策！',
                icon: 'none',
                duration: 2000
            })
            return
        }
        // 登录
        wx.login({
            success: res => {
                app.globalData.code = res.code
                // 发送 res.code 到后台换取 openId, sessionKey, unionId
            },
        })
        wx.getUserProfile({
            desc: 'ddd',
            success: (e) => {
                let data = {
                    jsCode: app.globalData.code,
                    userName: e.userInfo.nickName,
                    // 0-未知，1-男，2-女性
                    // 2023年10月20日开始，小程序获取用户信息相关接口不再返回用户性别及地区信息
                    gender: e.userInfo.gender == 1 ? '男' : (e.userInfo.gender == 2 ? "女" : '未知'),
                    dataType: app.globalData.dataType,
                }
                wx.showLoading({
                    title: '登录中',
                })
                request.post('/auth/appLogin', data).then((res:any) => {
                    app.globalData.access_token = res.data.data.access_token
                    app.globalData.doctorAccount = res.data.data.doctorAccount
                    wx.hideLoading()
                    wx.showToast({
                        title: '登录成功',
                        icon: 'success',
                        duration: 1000,
                        success: () => {
                            //登录成功存储用户信息
                            app.globalData.userInfo = e.userInfo;
                            wx.setStorageSync('userInfo', app.globalData.userInfo);
                            wx.setStorageSync('access_token', app.globalData.access_token);
                            wx.setStorageSync('doctorAccount', app.globalData.doctorAccount);
                            
                            setTimeout(() => {
                                wx.switchTab({
                                    url: '/pages/index/index'
                                })
                            }, 1000) //延迟时间
                        }
                    })
                })
            }
        })
    },
    /**
     * Checkbox 复选框
     */
    onChange(event: any) {
        this.setData({
            checked: event.detail,
        });
    },
    handleAgreement(){
        this.setData({ show: true });
    },
    onClose() {
        this.setData({ show: false });
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        this.setData({
            globalData: app.globalData,
        })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})